﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CarAppDomain.Base;
using SqlSugar;

namespace CarAppDomain.CarType.Entities
{
    /// <summary>
    /// 车系信息
    /// </summary>
    [SugarTable("vehicle_series", TableDescription = "车系信息")]
    public class VehicleSeriesEntity : BaseEntity
    {
        /// <summary>
        /// 所属品牌代码
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = false, ColumnDescription = "所属品牌代码")]
        public string? BrandId { get; set; }
         
        /// <summary>
        /// 车系代码（车系ID）
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 20, IsNullable = false, ColumnDescription = "品牌代码")]
        public string? Code { get; set; }
          
        /// <summary>
        /// 车系中文名称
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 128, IsNullable = false, ColumnDescription = "车系中文名称")]
        public string? Name { get; set; }

        /// <summary>
        /// 车系英文名称
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 128, IsNullable = true, ColumnDescription = "车系英文名称")]
        public string? EnglishName { get; set; }

        /// <summary>
        /// 车系型号
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 50, IsNullable = true, ColumnDescription = "车系型号")]
        public string? CarSeriesModel { get; set; }

        /// <summary>
        /// 销售区域Id
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = true, ColumnDescription = "销售区域")]
        public string? SaleAreaId { get; set; }

        /// <summary>
        /// 制造国Id
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = true, ColumnDescription = "制造国")]
        public string? ManufacturingCountryId { get; set; }

        /// <summary>
        /// 年代代码
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = true, ColumnDescription = "年款代码")]
        public string? ModelYearCode { get; set; }


        /// <summary>
        ///目录号
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = true, ColumnDescription = "目录号")]
        public string? CatalogNo { get; set; }

        /// <summary>
        ///车系简码
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 36, IsNullable = true, ColumnDescription = "车系简码")]
        public string? VehicleSeriesBrevityCoding { get; set; }


        /// <summary>
        /// 车系版本英文名称
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 128, IsNullable = true, ColumnDescription = "车系版本英文名称")]
        public string? VehicleSeriesVersionEnglishName { get; set; }

        /// <summary>
        /// 车系版本中文名称
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 128, IsNullable = true, ColumnDescription = "车系版本中文名称")]
        public string? VehicleSeriesVersionName { get; set; }

        /// <summary>
        /// 上市时间
        /// </summary>
        [SugarColumn(ColumnDataType = "date",  IsNullable = true, ColumnDescription = "上市时间")]
        public DateTime? MarketingTime { get; set; }

        /// <summary>
        /// 停产时间
        /// </summary>
        [SugarColumn(ColumnDataType = "date",  IsNullable = true, ColumnDescription = "停产时间")]
        public DateTime? DownTime { get; set; }


        /// <summary>
        /// 销售状态 0：在销，1：停销
        /// </summary>
        [SugarColumn(ColumnDataType = "int", IsNullable = false, ColumnDescription = "销售状态",DefaultValue ="0")]
        public int? SaleStatus { get; set; }

        /// <summary>
        /// 停销时间
        /// </summary>
        [SugarColumn(ColumnDataType = "datetime", IsNullable = true, ColumnDescription = "停销时间")]
        public DateTime? SaleDownTime { get; set; }

        /// <summary>
        /// 图片路径
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar", Length = 2048, IsNullable = true, ColumnDescription = "图片路径")]
        public string? Image { get; set; }
    }
}
